package com.t2t.top.outmemory;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * Java线程：线程池-
 *
 * @author Administrator 2009-11-4 23:30:44
 */

public class TestThread {

    public static void main(String[] args) {
        for (int i = 0; i < 100000; i++) {
            main();
        }
    }

    public static void main() {
        long s = System.currentTimeMillis();
        //创建一个可重用固定线程数的线程池
        ExecutorService pool = Executors.newFixedThreadPool(100);
        //创建实现了Runnable接口对象，Thread对象当然也实现了Runnable接口
        Thread t1 = new MyThread();
        Thread t2 = new MyThread();
        Thread t3 = new MyThread();
        Thread t4 = new MyThread();
        Thread t5 = new MyThread();
        //将线程放入池中进行执行
        pool.execute(t1);
        pool.execute(t2);
        pool.execute(t3);
        pool.execute(t4);
        pool.execute(t5);
        //关闭线程池
        pool.shutdown();

        //判断是否所有的线程已经运行完
        while (!pool.isTerminated()) {

        }
        long e = System.currentTimeMillis();
        System.out.println(e - s);
    }

}


class MyThread extends Thread {

    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName() + "正在执行。。。");
    }

}   